/*
 * ================================================================================变量定义区
 */
var showCount =10; //每页显示条数
var currentPage = 1;//当前页

/*
 * ================================================================================Page initialization function
 */
$(function()
{
	//获取是否有历史当前页信息
	var pageType = $("#pageType").val();
	
	//获取上次列表
	if(pageType === 'lastest')
	{
		getLastestListAndForm();
	}
	else
	{
		getCurrentList(currentPage);
	}
	
	//绑定回车事件
	document.onkeydown = function(event) 
	{
		var e = event || window.event || arguments.callee.caller.arguments[0];

		if (e && e.keyCode == 13) 
		{ 
			event.preventDefault?event.preventDefault():event.retumValue=false;
			queryResource();
		}
	};
});


/*
 * ================================================================================Functions defined area
 * 
 */

/**
 * 获取列表数据
 * @param pageIndex 当前页
 */
function getResourceList(param)
{
	$.ajax(
	{
		type: 'POST',
        url: BASE_PATH +'/resourceManagement/listPageData.do',
        dataType:"json",
        data:param,
        cache:false,
        
        success:function(data,textStatus)
    	{
        	var html = "";        	
        	var pageData = data;
        	var totalResult = pageData.queryParam.totalResult;
        	
        	if(pageData.queryResult != null)
        	{
	        	$.each(pageData.queryResult,function(i,n)
	        	{
	        		n.resUrl=switcHtml(n.resUrl);
	        		n.resUrl = n.resUrl.replace(/ /g, "&nbsp;");  
	        		html += '<tr onclick="chooseRow(this,false);"  id="tr_index_'
	        				+i+'">';
	        		html += '<td style="text-align:left;width: 34%;" title='
	        				+n.resUrl
	        				+'><input id="'
	        				+n.id
	        				+'" type="hidden" value="'
	        				+n.id+'"/>'
	        				+n.resUrl
	        				+'</td>';
	        		html += '<td style="text-align:left;width: 12%;" title='
	        				+n.roleName
	        				+'>'
	        				+n.roleName
	        				+'</td>';
    				html += '<td style="text-align:left;width: 12%;" title='
    						+n.create_user
    						+'>'
    						+n.create_user
    						+'</td>';
    				html += '<td style="text-align:center;width: 12%;" title='
    						+n.create_time
    						+'>'
    						+n.create_time
    						+'</td>';
    				
    				if (n.last_modify_user == null	|| n.last_modify_user == "") 
					{
						html += '<td style="text-align: left;width: 15%;" title=' 
							+ n.create_user+'>' 
							+ n.create_user + '</td>';
					} 
					else 
					{
						html += '<td style="text-align: left;width: 15%;" title=' 
							+ n.last_modify_user + '>' 
							+ n.last_modify_user + '</td>';
					}
					
					if (n.last_modify_time == null	|| n.last_modify_time == "") 
					{
						html += '<td style="text-align: center;width: 15%;" title=' 
							+ n.create_time+'>' 
							+ n.create_time + '</td>';
					} 
					else 
					{
						html += '<td style="text-align: center;width: 15%;" title=' 
							+ n.last_modify_time + '>' 
							+ n.last_modify_time + '</td>';
					}
					
					html += '<td style="width: 1px;" >'+''+'</td></tr>';
	        	});  
        		
        	} 
        	else 
			{
				html = '<tr><td colspan="2">No items.</td></tr>';
			}
        	
        	$('#tBodyList').html(html);
        	
        	//请求第一页时，同时初始化分页插件。
			currentPage = param.currentPage;
    		if(totalResult == 0)
    		{
    			$('#tBodyList').html('<tr><td style="text-align:center;">No items.</td></tr>');
    			$("#pagination").hide();
    		} 
    		else 
    		{	
    			// 创建分页
    			$("#pagination").show();
    			$("#pagination").pagination(totalResult, 
    			{
    				num_edge_entries : 1, 
    				num_display_entries : 3, 
    				current_page : currentPage,
    				callback : pageListCallback,
    				items_per_page : showCount 
    			});
    		}
    		chooseId= null;
        },
        
		error:function(e)
		{
			openAlert("加载数据错误！"); 
			return;
		}
	});
} 

//查询按钮单击事件
function queryResource()
{
	getCurrentList(1);
}
//新增按钮事件
function newResource()
{
	$("#submitForm [name=id]").val('');
	//设置SessionStorage表单当前信息
	setUnSearchFormParam();
	$("#submitForm").submit();
}

//修改按钮事件
function editResource()
{
	var id = getSelectedRows();
	if(!id || id.length<1)
	{
		openAlert('请选择一条记录');
		return false;
	}
	
	var rid = $("#"+id).find("input").val();
	$("#submitForm [name=id]").val(rid);
	//设置SessionStorage表单当前信息
	setUnSearchFormParam();
	$("#submitForm").submit();	
}

//删除按钮事件
function deleteResource()
{
	var id = getSelectedRows();
	if(!id || id.length<1)
	{
		openAlert('请选择一条记录');
		return false;
	}
	
	openConfirm("确定删除吗？",null,function()
	{
		var rid = $("#"+id).find("input").val();	
		$.ajax(
		{
			type: 'POST',
	        url: BASE_PATH +'/resourceManagement/deleteResource.do',
	        dataType:"json",       
	        contentType:"application/json;charset=UTF-8",
			data:JSON.stringify(rid),
			success : function(data) 
			{
				if(data=='success')
				{
					openAlert('删除成功',function()
					{
						chooseId= null;
						getCurrentList(currentPage);
					});
				}
				else
				{
					chooseId= null;
					openAlert('删除失败');
				}
				
			},
			
			error:function(e)
			{
				openAlert('操作失败！错误信息：<div>'+e.responseText+"</div>");
			}
		});
	});
}

//查看所有映射按钮单击事件
function viewAllMapButtonClickEvent()
{
	popUpPanel(BASE_PATH + "/resourceManagement/viewAllMap_sitemesh_popup.do",null,1000, 570);
}

/**
 * 获取当前请求列表
 * @param pageIndex
 */
function getCurrentList(pageIndex)
{
	//获取查询参数
	var role_name = $("#role_name").val().trim().toUpperCase();
	var res_url = $("#res_url").val().trim().toUpperCase();
		
	var param = 
	{
	    "showCount"      :showCount,
	    "currentPage"    :pageIndex,
	    "role_name"      :role_name,
	    "res_url"        :res_url,
	    "query_condition_field_list" : "role_name,res_url"
    };
	getResourceList(param);
	
	//向SessionStorage存储数据
	SessionStorage.setSearchParam(
	{
		formParam: 
		{
			role_name : role_name,
			res_url : res_url
		},
		searchParam: param
	});
}

/**
 * 获取最近一次的列表
 * 从SessionStorage中获取参数
 */
function getLastestListAndForm()
{
	// 获取参数
	var param = SessionStorage.getSearchParam(),
	// 表单参数
	formParam = param.formParam,
	// 搜索参数
	searchParam = param.searchParam;
	
	$("#role_name").val(formParam.role_name);
	
	$("#res_url").val(formParam.res_url);
	// 列表获取
	getResourceList(searchParam);
	
	// 向SessionStorage存储数据
	SessionStorage.setSearchParam(
	{
		formParam : formParam,
		searchParam : searchParam
	});
}

/**
 * 分页数据回调函数
 * @param pageIndex 请求页
 */
function pageListCallback(pageIndex)
{
	getCurrentList(pageIndex);
}

/**
 * 设置未进行搜索的表单信息
 */
function setUnSearchFormParam()
{
	// 获取参数
	var param = SessionStorage.getSearchParam();
	// 设置表单参数
	param.formParam = 
	{
		role_name : $("#role_name").val(),
		res_url : $("#res_url").val(),
	};
	// 重置SessionStrage数据
	SessionStorage.setSearchParam(param);
}
